﻿using System;
using System.Data;
using System.IO;

namespace SO_DataFetcher.PubFunctions
{
    /*************************************************************************************
    * CLR版本：       4.0.30319.269
    * 类 名 称：      XmlUtility
    * 机器名称：      
    * 命名空间：      iXMLHelp
    * 文 件 名：      XmlUtility
    * 创建时间：      2014/03/22
    * 作    者：      陈小仲
    * 功    能:
    * 修改时间：
    * 修 改 人：
    *************************************************************************************/
    /// <summary>
    /// Add Describe Here
    /// </summary>
    public class XmlUtility
    {
        #region Public Static 读取XML配置文件
        /// <summary>
        /// 读取XML配置文件
        /// </summary>
        /// <param name="xmlPath">XML配置文件的路径</param>
        /// <returns>返回的数据集</returns>
        public static DataSet ReadXmlSetting(string xmlPath)
        {
            if (!File.Exists(xmlPath))
            {
                return null;
            }
            
            var dsXml = new DataSet();

            try
            {
                dsXml.ReadXml(xmlPath);
                return dsXml;
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.ToString());
                return null;
            }
        }
        #endregion

        #region Public Static 保存XML配置文件
        /// <summary>
        /// 保存XML配置文件
        /// </summary>
        /// <param name="dsSetting">配置集</param>
        /// <param name="xmlPath">XML配置文件的路径</param>
        /// <returns>是否成功</returns>
        public static bool SaveXmlSetting(DataSet dsSetting, string xmlPath)
        {
            try
            {
                dsSetting.WriteXml(xmlPath);
                return true;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return false;
            }
        }
        #endregion

        #region Public Static 删除XML配置文件
        /// <summary>
        /// 删除XML配置文件
        /// </summary>
        /// <param name="xmlPath">XML配置文件的路径</param>
        public static void DeleteXml(string xmlPath)
        {
            if (File.Exists(xmlPath))
            {
                File.Delete(xmlPath);
            }
        }
        #endregion
    }
}